import sympy
import hashlib

# 给定的大整数
large_number = 98554799767

# 使用Sympy库分解大整数为两个素数的乘积
# 这里的目的是找到两个素数，它们的乘积等于给定的大整数
factors = sympy.factorint(large_number)
prime_factors = sorted(factors.keys())

# 将得到的两个素数按升序拼接成一个新的整数
# 这样做是为了创建一个唯一的标识符，用于后续的MD5哈希计算
new_number = int(f"{prime_factors[0]}{prime_factors[1]}")

# 计算拼接后的整数的MD5哈希值
# 选择MD5是因为它是一个广泛使用的哈希函数，能够生成固定大小的哈希值
md5_hash = hashlib.md5(str(new_number).encode()).hexdigest()

# 将MD5哈希值格式化为所需的输出格式
# 这个格式通常用于CTF比赛或者某些特定的应用场景中作为答案或者密钥
flag = f"flag{{{md5_hash}}}"
print(flag)

